package com.gimi.cloud.bbp.merchantZone.service.product;

import java.util.List;
import java.util.Map;

import com.gimi.cloud.bbp.dto.prod.EcProdCategoryDTO;
import com.gimi.cloud.bbp.dto.product.ProductDto;
import com.gimi.cloud.bbp.dto.product.ProductStatusDTO;
import com.github.pagehelper.PageInfo;

public interface ProductService {
	/**
	 * 商户中心添加商品
	 * @param pdd 封装商品数据
	 */
	public ProductDto addProduct(ProductDto pdd);
	/**
	 * 商户中心查询修改详情
	 * @param prodId 商品ID
	 */
	public ProductDto getProduct(String prodId) throws Exception;
	/**
	 * 店铺查询经营范围的品类
	 * @param prodId 商品ID
	 */
	public List<Map<String, Object>> getStoreCats(ProductDto params);
	/**
	 * 商户中心修改商品
	 * @param pdd 封装商品数据
	 */
	public ProductDto updateProduct(ProductDto pdd) throws Exception;
	/**
	 * 商户中心发布商品
	 * @param pdd 封装商品数据
	 */
	public  Map<String, Object> releaseProduct(String prodId);

	/**
	 * 商品列表
	 */
	PageInfo<ProductDto> getProductList(ProductDto pdd) throws Exception;

	/**
	 * 删除商品
	 */
	void deleteProduct(ProductStatusDTO pdd) throws Exception;

	/**
	 * 商品下架
	 */
	void offShelfProduct(ProductStatusDTO pdd) throws Exception;

	/**
	 * 商品上架
	 */
	void upShelfProduct(ProductStatusDTO pdd) throws Exception;


	List<Map<String, Object>> toTree(List<EcProdCategoryDTO>  prodCatDto, Integer servicePid, String parentId);

}
